/** 
 * @Company: 北京慧点科技有限公司 | www.smartdot.com.cn
 * @Copyright 1998-2022 © Smartdot Technologies Co., Ltd.
 */
package com.hd.rcugrc.project.leaveapplication.leave.entity;

import java.io.Serializable;
import javax.persistence.*;

import org.hibernate.annotations.GenericGenerator;
import com.hd.rcugrc.bpm.Operator;
import com.hd.wep.extend.common.entity.WeFlowBaseEntity;
import com.hd.wep.extend.model.annotation.FormBean;
import com.hd.wep.extend.form.model.annotation.*;


/**
 * 请假申请单-实体对象 - 由代码生成器生成
 * 
 * @class: OaOfficeLeaveEntity
 * @date 2024-07-15 09:35:47
 * @author smartdot
 * @version 1.0 - 2024-07-15 09:35:47
 * @see
 */
@FormBean(formName = "请假申请单")
@Entity(name = "com.hd.rcugrc.project.leaveapplication.leave.entity.OaOfficeLeaveEntity")
@Table(name = "xm_xx_table")
public class OaOfficeLeaveEntity extends WeFlowBaseEntity implements Serializable {
    /**
     * 序列化ID
     */
    private static final long serialVersionUID = 3897729868753225523L;
    /**
     * 主键
     */
    private Long id;
    /**
     * 流程实例ID
     */
    private Long instId;
    /**
     * 流水号
     */
    private String qjsqdLsh;
    /**
     * 发起时间
     */
    private Long qjsqdFqsj;
    /**
     * 发起人
     */
    private String qjsqdFqr;
    /**
     * 发起部门
     */
    private String qjsqdFqbm;
    /**
     * 职务
     */
    private String qjsqdZw;
    /**
     * 开始时间
     */
    private Long qjsqdKssj;
    /**
     * 结束时间
     */
    private Long qjsqdJssj;
    /**
     * 假别
     */
    private String qjsqdJb;
    /**
     * 请假天数
     */
    private Integer qjsqdQjts;
    /**
     * 请假事由
     */
    private String qjsqdQjsy;
    /**
     * 附件
     */
    private String qjsqdFj;
    
    public OaOfficeLeaveEntity() {
        super();
    }
    
    public OaOfficeLeaveEntity(OaOfficeLeaveEntity entity) {
        super();
        this.id = entity.getId();
        this.instId = entity.getInstId();
        this.qjsqdLsh = entity.getQjsqdLsh();
        this.qjsqdFqsj = entity.getQjsqdFqsj();
        this.qjsqdZw = entity.getQjsqdZw();
        this.qjsqdKssj = entity.getQjsqdKssj();
        this.qjsqdJssj = entity.getQjsqdJssj();
        this.qjsqdJb = entity.getQjsqdJb();
        this.qjsqdQjts = entity.getQjsqdQjts();
        this.qjsqdQjsy = entity.getQjsqdQjsy();
        this.qjsqdFj = entity.getQjsqdFj();
    }
    
    /**
     * 获取ID
     * 
     * @return ID
     */
    @Id
    @GeneratedValue(generator = "OaOfficeLeaveEntityIdGenerator")
    @GenericGenerator(name = "OaOfficeLeaveEntityIdGenerator", 
            strategy = "com.hd.rcugrc.data.ids.TableBasedLongIdGenerator", parameters = {
            @org.hibernate.annotations.Parameter(name = "table_name", value = "HD_ID_GEN"),
            @org.hibernate.annotations.Parameter(name = "segment_column_name", value = "ID_NAME"),
            @org.hibernate.annotations.Parameter(name = "value_column_name", value = "ID_VAL"),
            @org.hibernate.annotations.Parameter(name = "segment_value", value = "XM_XX_TABLE"),
            @org.hibernate.annotations.Parameter(name = "increment_size", value = "1") })
    @Column(name = "ID")
    @IdField(caption = "ID")
    public Long getId() {
        return id;
    }
    
    /**
     * 设置主键
     * 
     * @param id 主键
     */
    public void setId(Long id) {
        this.id = id;
    }
    
    /**
     * 获取流程实例ID
     * 
     * @return 流程实例ID
     */
    @Column(name = "INST_ID")
    @NumberField(caption = "流程实例ID")
    public Long getInstId() {
        return instId;
    }
    
    /**
     * 设置流程实例ID
     * 
     * @param instId 流程实例ID
     */
    public void setInstId(Long instId) {
        this.instId = instId;
    }
    
    /**
     * 获取流水号
     * 
     * @return 流水号
     */
    @Column(name = "QJSQD_LSH")
    @StringField(caption = "流水号")
    public String getQjsqdLsh() {
        return qjsqdLsh;
    }
    
    /**
     * 设置流水号
     * 
     * @param qjsqdLsh 流水号
     */
    public void setQjsqdLsh(String qjsqdLsh) {
        this.qjsqdLsh = qjsqdLsh;
    }

    /**
    * 获取发起时间
    *
    * @return 发起时间
    */
    @Column(name = "QJSQD_FQSJ")
    @DateTimeField(caption = "发起时间")
    public Long getQjsqdFqsj() {
    return qjsqdFqsj;
    }

    /**
    * 设置发起时间
    *
    * @param qjsqdFqsj 发起时间
    */
    public void setQjsqdFqsj(Long qjsqdFqsj) {
    this.qjsqdFqsj = qjsqdFqsj;
    }

    /**
     * 获取发起人
     *
     * @return 发起人
     */
    @Transient
    @StringField(caption = "发起人")
    public String getQjsqdFqr() {
        return qjsqdFqr;
    }

    /**
     * 设置发起人
     *
     * @param qjsqdFqr 发起人
     */
    public void setQjsqdFqr(String qjsqdFqr) {
        this.qjsqdFqr = qjsqdFqr;
    }

    /**
    * 获取发起部门
    *
    * @return 发起部门
    */
    @Transient
    @StringField(caption = "发起部门")
    public String getQjsqdFqbm() {
    return qjsqdFqbm;
    }

    /**
    * 设置发起部门
    *
    * @param qjsqdFqbm 发起部门
    */
    public void setQjsqdFqbm(String qjsqdFqbm) {
    this.qjsqdFqbm = qjsqdFqbm;
    }

    /**
    * 获取职务
    *
    * @return 职务
    */
    @Column(name = "QJSQD_ZW")
    @StringField(caption = "职务")
    public String getQjsqdZw() {
    return qjsqdZw;
    }

    /**
    * 设置职务
    *
    * @param qjsqdZw 职务
    */
    public void setQjsqdZw(String qjsqdZw) {
    this.qjsqdZw = qjsqdZw;
    }

    /**
    * 获取开始时间
    *
    * @return 开始时间
    */
    @Column(name = "QJSQD_KSSJ")
    @DateTimeField(caption = "开始时间")
    public Long getQjsqdKssj() {
    return qjsqdKssj;
    }

    /**
    * 设置开始时间
    *
    * @param qjsqdKssj 开始时间
    */
    public void setQjsqdKssj(Long qjsqdKssj) {
    this.qjsqdKssj = qjsqdKssj;
    }

    /**
    * 获取结束时间
    *
    * @return 结束时间
    */
    @Column(name = "QJSQD_JSSJ")
    @DateTimeField(caption = "结束时间")
    public Long getQjsqdJssj() {
    return qjsqdJssj;
    }

    /**
    * 设置结束时间
    *
    * @param qjsqdJssj 结束时间
    */
    public void setQjsqdJssj(Long qjsqdJssj) {
    this.qjsqdJssj = qjsqdJssj;
    }

    /**
     * 获取假别
     *
     * @return 假别
     */
    @Column(name = "QJSQD_JB")
    @SelectListField(caption = "假别", dictId = "", selectListItems = {
            @SelectListItem(label = "事假", value = "事假")
            ,@SelectListItem(label = "病假", value = "病假")
            ,@SelectListItem(label = "年假", value = "年假")
            ,@SelectListItem(label = "调休假", value = "调休假")
        })
    public String getQjsqdJb() {
        return qjsqdJb;
    }

    /**
     * 设置假别
     *
     * @param qjsqdJb 假别
     */
    public void setQjsqdJb(String qjsqdJb) {
        this.qjsqdJb = qjsqdJb;
    }
    
    /**
     * 获取请假天数
     * 
     * @return 请假天数
     */
    @Column(name = "QJSQD_QJTS")
    @NumberField(caption = "请假天数")
    public Integer getQjsqdQjts() {
        return qjsqdQjts;
    }
    
    /**
     * 设置请假天数
     * 
     * @param qjsqdQjts 请假天数
     */
    public void setQjsqdQjts(Integer qjsqdQjts) {
        this.qjsqdQjts = qjsqdQjts;
    }

    /**
    * 获取请假事由
    *
    * @return 请假事由
    */
    @Column(name = "QJSQD_QJSY")
    @StringField(caption = "请假事由")
    public String getQjsqdQjsy() {
    return qjsqdQjsy;
    }

    /**
    * 设置请假事由
    *
    * @param qjsqdQjsy 请假事由
    */
    public void setQjsqdQjsy(String qjsqdQjsy) {
    this.qjsqdQjsy = qjsqdQjsy;
    }
    
    /**
     * 获取附件
     * 
     * @return 附件
     */
    @Column(name = "QJSQD_FJ")
    @AttachmentField(caption = "附件")
    public String getQjsqdFj() {
        return qjsqdFj;
    }
    
    /**
     * 设置附件
     * 
     * @param qjsqdFj 附件
     */
    public void setQjsqdFj(String qjsqdFj) {
        this.qjsqdFj = qjsqdFj;
    }

}
